Movement between a surface and an optical navigation device may be tracked by 1) using an image sensor to acquire a series of digital images of the surface, 2) comparing successive ones of the series of digital images, and 3) analyzing differences in the successive images to quantify movement between the surface and the optical navigation device. Depending on the algorithm(s) used to analyze the differences in the successive images, it may be possible to quantify direction, velocity and other characteristics of movement.
Typically, an optical navigation device includes a light source that illuminates the surface with a uniform light of known wavelength. In some cases, the light source may be a light-emitting diode (LED) or laser diode. The light source is mounted such that its light is ideally reflected from the surface to the image sensor. As a result of irregularities found in most surfaces (such as contour, color and composition irregularities), different portions of a surface will typically reflect light in different amounts and at different angles. This, in turn, leads to different amounts of light being detected by different individual pixels of the image sensor. Movements between the surface and the image sensor lead to movements in the overall pattern of light detected by pixel elements of the image sensor, which movements are used to track movement between the surface and the optical navigation device. The tracked movements can then be translated to movement of a cursor on a display of a computing device.
When the optical navigation device is lifted from the surface, it is usually desirable for movement of the cursor to cease. However, for various reasons, a cursor may exhibit unwanted movement even though the optical navigation device is lifted from the surface.